#include "sys.h"
#include "bit_edge.h"


struct stSOFTCON stsoftcon;

void
stBedge(void )	//      
{
  u16 i;
  for (i = sizeof ( 	stsoftcon.cSysBitBuff ) ; i; i-- )
			stsoftcon.cSysBitBuff[i].bPrev = stsoftcon.cSysBitBuff[i].bCurr;  

}


/*

void
stBedge (char *s, char *o, u8 n)	//      
{
  u8 i;
  for (i = n; i; i--, s++, o++)
    *o = *s;

}


u8
cGetBOld (u16 n)
{
  return (stsoftcon.cSysBitBuff_Bak[n / 8] & (1 << ((n) % 8)));
}

void
SetBOld (u16 n)
{
  (stsoftcon.cSysBitBuff_Bak[n / 8] |= (1 << (n % 8)));
}

void
ClrBOld (u16 n)
{

  stsoftcon.cSysBitBuff_Bak[(n) / 8] &= ~(1 << ((n) % 8));
}

void
cparToBOld (u16 n, u8 y)
{
  if (y)
    SetBOld (n);
  else
    ClrBOld (n);
}


u8
cGetB (u16 iN)
{

  return (stsoftcon.cSysBitBuff[iN / 8] & (1 << (iN % 8)));
}

void
SetB (u16 iN)
{
  stsoftcon.cSysBitBuff[iN / 8] |= (1 << (iN % 8));
}

void
ClrB (u16 iN)
{

  stsoftcon.cSysBitBuff[iN / 8] &= ~(1 << (iN % 8));
}

u8
IsUpB (u16 iN)
{

  return ((cGetB (iN)) && (cGetBOld (iN) == 0));
}

u8
IsDownB (u16 iN)
{
  return ((0 == (cGetB (iN))) && (cGetBOld (iN)));
}

u8
IsChangeB (u16 iN)
{
  return (cGetB (iN) != cGetBOld (iN));
}

void
cparToB (u16 iNo, u8 y)
{
  if (y)
    SetB (iNo);
  else
    ClrB (iNo);
}
*/
